Computer input device with variable scroll speed control

ABSTRACT

A computer input device is adapted for use with a computer, and includes a scroll wheel unit and a processing unit. The scroll wheel unit includes a scroll wheel, and a detecting module for detecting rotation of the scroll wheel. The detecting module generates an output corresponding to speed and direction of rotation of the scroll wheel. The processing unit is coupled electrically to the scroll wheel unit, determines a time difference between two consecutive outputs received from the scroll wheel unit, and determines a value of a scroll speed parameter based on the time difference. The processing unit then generates a scroll control signal corresponding to the value of the scroll speed parameter determined thereby, and provides the scroll control signal to the computer for controlling the computer to scroll screen content on a display according to the scroll control signal.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority of Taiwanese application no. 099202130, filed on Feb. 2, 2010.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to a computer input device, more particularly to a computer input device with variable scroll speed control.

2. Description of the Related Art

When using a conventional mouse, one-step turning of a scroll wheel may result in one-line or three-line scrolling of screen content on a display, depending on the computer system and the system configuration. As such, when a user needs to scroll through a long document or to do a quick browsing, the scroll wheel has to be turned numerous times, which arises in inconvenience.

In Taiwanese Publication no. 365419, an inertial wheel mechanism is adopted to reduce the number of times the scroll wheel has to be turned when browsing through a long document. However, the proposed inertial wheel mechanism does not make it easy to control scrolling of screen content when a user wishes to browse slowly. In Taiwanese Utility Model no. M350057, a mouse is provided with an additional switch for switching the scroll speed. Nevertheless, since a user has to do a switching operation beforehand, the mouse disclosed therein is still inconvenient to use.

Moreover, in U.S. Patent Application Publication no. US 2007/0200826, velocity of movement of a user's finger is determined through a movement-detecting module to serve as a basis for determining whether or not automatic scrolling at a predetermined scrolling speed is to be conducted. However, inclusion of the movement-detecting module in the computer input device results in higher costs.

SUMMARY OF THE INVENTION

Therefore, the object of the present invention is to provide a computer input device with variable scroll speed control that can overcome at least one of the above drawbacks of the prior art.

According to the present invention, there is provided a computer input device adapted for use with a computer to control scrolling of screen content on a display. The computer input device includes a scroll wheel unit and a processing unit. The scroll wheel unit includes a scroll wheel, and a detecting module for detecting rotation of the scroll wheel. The detecting module generates an output corresponding to speed and direction of rotation of the scroll wheel. The processing unit is coupled electrically to the scroll wheel unit, determines a time difference between two consecutive outputs received from the scroll wheel unit, and determines a value of a scroll speed parameter based on the time difference. The processing unit then generates a scroll control signal corresponding to the value of the scroll speed parameter determined thereby, and provides the scroll control signal to the computer for controlling the computer to scroll the screen content on the display according to the scroll control signal.

BRIEF DESCRIPTION OF THE DRAWINGS

Other features and advantages of the present invention will become apparent in the following detailed description of the preferred embodiment with reference to the accompanying drawings, of which:

FIG. 1 is a perspective view for illustrating the preferred embodiment of a computer input device according to the present invention when used with a computer;

FIG. 2 is a block diagram of the preferred embodiment; and

FIG. 3 is a flow chart diagram for illustrating operation of the preferred embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring to FIGS. 1 and 2, the preferred embodiment of a computer input device 3 with variable scroll speed control according to the present invention is embodied in a mouse. The computer input device 3 is adapted for use with a conventional computer 21 that is operatively coupled to a keyboard 22 and display 23. The display 23 includes a screen 230 to display windows and other information. In this embodiment, the computer input device 3 includes a casing 31, a scroll wheel unit 32, a processing unit 34, and a storage medium 35. The scroll wheel unit 32 includes a scroll wheel 321 provided rotatably on the casing 31. The scroll wheel unit 32 further includes a detecting module 322 for detecting rotation of the scroll wheel 341. The detecting module 322 generates an output corresponding to speed and direction of rotation of the scroll wheel 341. Since the feature of the present invention does not reside in the specific configuration of the detecting module 322, which is known in the art, further details of the same will be omitted herein for the sake of brevity.

It should be noted that the computer input device may be embodied in another form of a pointing device, such as one that is built into an electronic apparatus, in other embodiments of the invention.

The processing unit 34 is disposed in the casing 31, is coupled electrically to the scroll wheel unit 32, and includes a calculating module 344, a parameter determining module 345 and an output module 346. The functions of these modules will be explained below with further reference to FIG. 3. It is noted that each of the modules 344-346 may be realized using wired logics, circuits, firmware or a microprocessor executing proprietary program instructions.

The storage medium 35 is disposed in the casing 31 and is coupled electrically to the processing unit 34. The storage medium 35 stores a look-up table that defines a relationship between different values of a scroll speed parameter and corresponding values of an index. In this embodiment, the storage medium 35 is an EEPROM (erasable electronic programmable read-only memory).

The operational flow of the computer input device 3 will now be described with reference to FIGS. 1, 2 and 3:

The operational flow starts in step 61. When the scroll wheel 321 is driven to rotate, the detecting module 322 detects rotation of the scroll wheel 321, generates an output corresponding to speed and direction of rotation of the scroll wheel 321, and sends the output to the processing unit 34.

In step 62, the calculating module 344 determines whether the scroll wheel 321 is rotated according to the output from the detecting module 322. If the scroll wheel 321 is rotated, an index corresponding to a scrolling speed is generated, and the flow goes to step 63. If the rotation of the scroll wheel 321 is not detected from the output of the detecting module 322, the flow goes to step 71. In this embodiment, the index for a normal scrolling speed is 1.

In step 63, the calculating module 344 determines from two consecutive outputs received from the scroll wheel unit 32 whether or not the direction of rotation of the scroll wheel 321 has changed. If the direction of rotation of the scroll wheel 321 is the same, the flow goes to step 64. Otherwise, the flow goes to step 74.

In step 64, the calculating module 344 determines a time difference between two consecutive outputs received from the scroll wheel unit 32. The parameter determining module 345 then determines whether the time difference is smaller than a preset threshold value. In other words, the processing unit 34 determines if the speed of rotation of the scroll wheel 321 is fast enough to imply that a user of the computer input device 3 desires to accelerate a scrolling speed of screen content on the display 23 or the speed of rotation of the scroll wheel 321 is slow enough to imply that the user desires to decelerate the scrolling speed. If the result of the determination is affirmative, the flow goes to step 65. Otherwise, the flow goes to step 72. In this embodiment, the preset threshold value is 10 ms.

In step 65, the parameter determining module 345 determines whether the current index value is smaller than a maximum index value. If affirmative, the flow goes to step 66. Otherwise, the flow goes to step 67.

In this embodiment, the index value is accumulated from 0, and 9 is the maximum index value. The values of the scroll speed parameter range from −256 to +256. Further acceleration in the scrolling speed is not possible if the scroll speed parameter is already at its maximum value. Each index value is associated with an absolute value of the scroll speed parameter, and the sign of the scroll speed parameter is determined according to the direction of the rotation of the scroll wheel 321. Preferably, the look-up table may be defined as shown below. It is noted that the absolute values of the scroll speed parameters increase two-fold with the increase in the corresponding index value. When the value of the scroll speed parameter is 0, the acceleration of the scrolling speed is zero, and the screen content on the display 23 will be scrolled one line or several lines according to the system configuration of the computer 21.

Index 0 1 2 3 4 5 Scroll speed parameter 0 +1 +2 +4 +8 +16 (forward) Scroll speed parameter 0 −1 −2 −4 −8 −16 (backward) Index 6 7 8 9 Scroll speed parameter +32 +64 +128 +256 (forward) Scroll speed parameter −32 −64 −128 −256 (backward)

In step 66, the parameter determining module 345 adds a predetermined speed difference value to the current index value, thereby adjusting the current value of the index according to the time difference. The speed difference value is 1 in this embodiment.

As an example, it is assumed herein that the scroll wheel 321 is operated to rotate in one direction, and the time difference between two consecutive outputs of the detecting module 322 is 8 ms. Since 8 ms is smaller than the preset threshold value of 10 ms, and the index is accumulated from 0, the new index value is therefore equal to the sum of the current index value and the speed difference value or 0+1=1. Hence, when the next time difference is still smaller than 10 ms, the new index value=the current index value+the speed difference value=1+1=2, and so on.

In step 67, the parameter determining module 345 determines whether the scroll wheel 321 rotates forward based on the output from the scroll wheel unit 32. If the result is affirmative, the flow goes to step 68. Otherwise, the flow goes to step 69.

In step 68, the parameter determining module 345 searches the look-up table for the value of the forward scroll speed parameter using the adjusted value of the index. Taking the index=4 as an example, the acquired forward scroll speed parameter is +8, whereas taking the index=5 as an example, the acquired forward scroll speed parameter is +16.

In step 69, the parameter determining module 345 searches the look-up table for the value of the backward scroll speed parameter using the adjusted value of the index. Taking the index=4 as an example, the acquired backward scroll speed parameter is −8, whereas taking the index=5 as an example, the acquired backward scroll speed parameter is −16.

In step 70, the output module 346 generates a scroll control signal corresponding to the value of the scroll speed parameter determined by the parameter determining module 345, and provides the scroll control signal to the computer 21 so as to control the computer 21 to scroll the screen content on the display 23 according to the scroll control signal. When the value of the scroll speed parameter is larger than 0, forward scrolling speed of the screen content on the display 23 is increased. When the value of the scroll speed parameter is smaller than 0, backward scrolling speed of the screen content on the display 23 is increased. When the value of the scroll speed parameter is 0, the screen content on the display 23 is scrolled one line or several lines according to the system configuration of the computer 21.

In step 71, the parameter determining module 345 determines whether a predetermined time period has elapsed since receipt of a most recent output from the scroll wheel unit 32. This determination is executed by determining whether the elapsed time starting from receipt of the most recent output is larger than the predetermined time period. If the determination result is affirmative, the flow goes to step 72. Otherwise, the flow goes back to step 62.

In step 72, the parameter determining module 345 determines whether the current index value is larger than 0. If affirmative, the flow goes to step 73. Otherwise, the flow goes to step 70.

In step 73, the parameter determining module 345 subtracts the speed difference value from the current index value to obtain an adjusted index value, and the flow proceeds to step 67. As mentioned above, the speed difference value is 1 in this embodiment.

As an example, when the current index value is 5, and it is determined in step 64 that the next time difference is 20 ms, since the current index value is determined in step 72 to be larger than 0, the index value is adjusted to 5−1=4 in step 73, and the value of the corresponding scroll speed parameter is determined to be +8 or −8 depending on whether the scroll wheel 321 is rotated forward or backward. Accordingly, although the screen content is still scrolled at a speed faster than the normal speed, the scrolling speed becomes gradually slower.

In step 74, the parameter determining module 345 sets the value of the index to 0, which corresponds to a zero value of the scroll speed parameter, i.e., zero acceleration. The flow then goes to step 70.

From the foregoing, as long as the time difference between two consecutive outputs from the scroll wheel unit 32 is smaller than the preset threshold value, e.g., 10 ms, and rotation of the scroll wheel 321 is not changed, the current value of the index is increased, and the scrolling speed of the screen content on the display 23 is accordingly increased. On the other hand, when the time difference is larger than the preset threshold value, the current value of the index is decreased, such that the scroll speed parameter is decreased until the value of the index becomes 0. If the direction of rotation of the scroll wheel 321 has changed, the value of the index is set to 0.

In summary, the computer input device 3 with variable scroll speed control of this invention can promote user convenience by using the time difference between two consecutive outputs from the scroll wheel unit 32 as a basis for controlling the scrolling speed of screen content on the display 23.

While the present invention has been described in connection with what is considered the most practical and preferred embodiment, it is understood that this invention is not limited to the disclosed embodiment but is intended to cover various arrangements included within the spirit and scope of the broadest interpretation so as to encompass all such modifications and equivalent arrangements. 

1. A computer input device adapted for use with a computer to control scrolling of screen content on a display, said computer input device comprising: a scroll wheel unit including a scroll wheel, and a detecting module for detecting rotation of said scroll wheel and for generating an output corresponding to speed and direction of rotation of said scroll wheel; and a processing unit coupled electrically to said scroll wheel unit, said processing unit determining a time difference between two consecutive outputs received from said scroll wheel unit, determining a value of a scroll speed parameter based on the time difference, generating a scroll control signal corresponding to the value of the scroll speed parameter determined thereby, and providing the scroll control signal to the computer for controlling the computer to scroll the screen content on the display according to the scroll control signal.
 2. The computer input device as claimed in claim 1, wherein the value of the scroll speed parameter determined by said processing unit is associated with an acceleration in scrolling speed when the time difference is smaller than a preset threshold, and is associated with a deceleration in the scrolling speed when the time difference is larger than the preset threshold.
 3. The computer input device as claimed in claim 2, wherein said processing unit determines the value of the scroll speed parameter to correspond to zero acceleration when said processing unit determines from the two consecutive outputs received from said scroll wheel unit that the direction of rotation of said scroll wheel has changed.
 4. The computer input device as claimed in claim 1, wherein the value of the scroll speed parameter determined by said processing unit is associated with a deceleration in scrolling speed when a predetermined time period has elapsed since receipt of a most recent output from said scroll wheel unit.
 5. The computer input device as claimed in claim 1, further comprising a storage medium coupled electrically to said processing unit and storing a look-up table that defines a relationship between different values of the scroll speed parameter and corresponding values of an index, said processing unit determining the value of the scroll speed parameter by adjusting a current value of the index according to the time difference, and searching the look-up table for the value of the scroll speed parameter using the adjusted value of the index.
 6. The computer input device as claimed in claim 1, wherein said processing unit includes: a calculating module for determining the time difference between two consecutive outputs received by said processing unit from said scroll wheel unit; a parameter determining module for determining the value of the scroll speed parameter based on the time difference determined by said calculating module; and an output module for generating a scroll control signal corresponding to the value of the scroll speed parameter determined by said parameter determining module, and for providing the scroll control signal to the computer so as to control the computer to scroll the screen content on the display according to the scroll control signal; wherein the value of the scroll speed parameter determined by said parameter determining module is associated with an acceleration in scrolling speed when the time difference is smaller than a preset threshold.
 7. The computer input device as claimed in claim 6, wherein said parameter determining module determines the value of the scroll speed parameter to correspond to zero acceleration when said calculating module determines from the two consecutive outputs received by said processing unit from said scroll wheel unit that the direction of rotation of said scroll wheel has changed.
 8. The computer input device as claimed in claim 6, wherein the value of the scroll speed parameter determined by said parameter determining module is associated with a deceleration in the scrolling speed when the time difference is larger than the preset threshold or when a predetermined time period has elapsed since receipt by said processing unit of a most recent output from said scroll wheel unit.
 9. The computer input device as claimed in claim 6, further comprising a storage medium coupled electrically to said processing unit and storing a look-up table that defines a relationship between different values of the scroll speed parameter and corresponding values of an index, said parameter determining module determining the value of the scroll speed parameter by adjusting a current value of the index according to the time difference, and searching the look-up table for the value of the scroll speed parameter using the adjusted value of the index. 